home *** CD-ROM | disk | FTP | other *** search
/ Aminet 30 / Aminet 30 (1999)(Schatztruhe)[!][Apr 1999].iso / Aminet / text / dtp / Notes1.3.lha / Notes / deutsch / Violinenschlüssel.rexx < prev   
OS/2 REXX Batch file  |  1999-02-11  |  43KB  |  1,425 lines

  1. /* Unterprogramm für "Noten.pprx" */
  2.  
  3. signal on halt
  4. signal on break_c
  5. signal on break_e
  6. signal on break_d
  7. call ppm_SetStyle(N)
  8.  
  9. noteneingabe:
  10.     /* Kleinster notenabstand */
  11.     sysart = "Notensystemart:2"
  12.     systemart = ppm_Getform("Bitte noch einmal die gewählte Systemart eingeben. (2, 1v oder 1b)", 3, sysart)
  13.     select
  14.     when systemart == '2' then zdist = 4
  15.     when systemart == '1v' then zdist = 2
  16.     when systemart == '1b' then zdist = 2
  17.     otherwise noteneingabe()
  18.     end
  19.     zdist2 = zdist-2
  20.     xgrdform = "(1,2,4,8 oder 16)"
  21.     xgrd = ppm_GetForm("Bitte für den kleinsten Notenwert eingeben ... (NICHTS=ABBRUCH)", 3, xgrdform)
  22.     if xgrd == '' then  exit_msg("Abbruch")
  23.     select
  24.      when xgrd == '1' then xg =0.7
  25.      when xgrd == '2' then xg =1.4
  26.      when xgrd == '4' then xg =2.8
  27.      when xgrd == '8' then xg =5.6
  28.      when xgrd == '16' then xg =11.2
  29.      otherwise notenwert()
  30.     end
  31.  
  32.    /* Punktgröße der Noten */
  33.    notepkt = 26
  34.    call ppm_SetJustification(0)
  35.    
  36.    zz = 0   /* Zeilenzähler */
  37.    notex = 0
  38.    notey = 0
  39.    page = ppm_CurrentPage()
  40.  
  41. clickpos:
  42.    res = ppm_GetUserText(2, "Manuell oder an Box ausrichten ? m/b")
  43.  
  44.    if res == 'M' then res = 'm'
  45.    if res == 'B' then res = 'b'
  46.  select
  47.    when res == 'm' then
  48.      do
  49.        clickpos = ppm_GetClickPosition("Bitte die Stelle anklicken wo ich beginnen soll...")
  50.        if clickpos == 0 then
  51.            do
  52.            exit_msg("Falsche Eingabe !! ENDE !!")
  53.            end
  54.        else
  55.          do
  56.            notey = word(clickpos, 2)
  57.            notex = word(clickpos, 1)
  58.            if notex < 2.5 then notex = 2.5
  59.            xw = notex
  60.            yw = notey
  61.            if systemart ~= '2' then
  62.             do
  63.              if notey <= 3.3  then zz= 0   /* zz ist ZeilenZähler */
  64.              if ((notey > 3.5)&(notey < 5.3)) then zz = 2
  65.              if ((notey > 5.5)&(notey < 7.3)) then zz = 4
  66.              if ((notey > 7.5)&(notey < 9.3)) then zz = 6
  67.              if ((notey > 9.5)&(notey < 11.3)) then zz = 8
  68.              if ((notey > 11.5)&(notey < 13.3)) then zz = 10
  69.              if ((notey > 13.5)&(notey < 15.3)) then zz = 12
  70.              if ((notey > 15.5)&(notey < 17.3)) then zz = 14
  71.              if ((notey > 17.5)&(notey < 19.3)) then zz = 16
  72.              if ((notey > 19.5)&(notey < 21.3)) then zz = 18
  73.              if ((notey > 21.5)&(notey < 23.3)) then zz = 20
  74.              if ((notey > 23.5)&(notey < 25.3)) then zz = 22
  75.              if notey > 25.3 then noteneingabe()
  76.             end
  77.            else
  78.             do
  79.              if notey <= 3.3  then zz= 0
  80.              if ((notey > 5.5)&(notey < 7.3)) then zz = 4
  81.              if ((notey > 9.5)&(notey < 11.3)) then zz = 8
  82.              if ((notey > 13.5)&(notey < 15.3)) then zz = 12
  83.              if ((notey > 17.5)&(notey < 19.3)) then zz = 16
  84.              if ((notey > 21.5)&(notey < 23.3)) then zz = 20
  85.             end
  86.          end
  87.  
  88.      end
  89.    when res == 'b' then
  90.      do
  91.         clickbox = ppm_ClickOnBox("Bitte eine Box anklicken, an der Stelle, wo es weitergeht ...")
  92.         pos = ppm_GetBoxPosition(clickbox)
  93.         notex = word(pos, 1)
  94.         notey = word(pos, 2)
  95.         xw = notex
  96.         yw = notey
  97.         call ppm_BoxAtPosn(notex, notey, page)
  98.         if notey <= 3.3  then zz= 0
  99.         if ((notey > 5.5)&(notey < 9.3)) then zz = 4
  100.         if ((notey > 9.5)&(notey < 13.3)) then zz = 8
  101.         if ((notey > 13.5)&(notey < 17.3)) then zz = 12
  102.         if ((notey > 17.5)&(notey < 21.3)) then zz = 16
  103.         if ((notey > 21.5)&(notey < 25.3)) then zz = 20
  104.  
  105.         if notex <= 1 then
  106.         do
  107.           noteneingabe()
  108.         end
  109.      end
  110.    otherwise clickpos()
  111.  end
  112.  
  113.  
  114.    /* Zeigerbox */
  115.  
  116.    zbid = ppm_CreateBox(notex, zz+0.5, 0.3, 1, 0)
  117.    call ppm_SetSize(26)
  118.    zbn = ppm_GetBoxName(zbid)
  119.    call ppm_TextIntoBox(zbn, '5')
  120.  
  121.  
  122. notenwert:
  123.  
  124.    do forever
  125.            cr = '0a'x
  126.            form = "Wert Name ['A'ufl.]"
  127.            call ppm_SetBoxPosition(zbid, notex, zz+0.5)
  128.            call ppm_UpdateScreen()
  129.            eingabe = ppm_GetForm("Bitte für die Noten eingeben ...(nichts=Abbruch) ", 7, form)
  130.            if eingabe = '' then
  131.            do
  132.             call ppm_DeleteBox(zbid)
  133.             exit_msg()
  134.            end
  135.            nw = word(eingabe, 1)
  136.            nn = word(eingabe, 2)
  137.            if nw == 'P' then nw = 'p'
  138.            al = word(eingabe, 3)
  139.            if al == 'A' then al = 'a'
  140.            IF nw == 'D' then nw = 'd'
  141.            if nw == 'LEFT' then nw = 'left'
  142.            if nw == 'L' then nw = 'l'
  143.            if nw == 'T' then nw = 't'
  144.            if nn == 'T' then nn = 't'
  145.            if nw == "NEU" then nw = "neu"
  146.  
  147.       select
  148.         when nn=='GB2' then nn = 'Gb2'
  149.         when nn=='AB2' then nn = 'Ab2'
  150.         when nn=='DB3' then nn = 'Db3'
  151.         when nn=='EB3' then nn = 'Eb3'
  152.         when nn=='GB3' then nn = 'Gb3'
  153.         when nn=='AB3' then nn = 'Ab3'
  154.         when nn=='DB4' then nn = 'Db4'
  155.         when nn=='EB4' then nn = 'Eb4'
  156.         when nn=='GB4' then nn = 'Gb4'
  157.         when nn=='AB4' then nn = 'Ab4'
  158.         when nn=='DB5' then nn = 'Db5'
  159.         when nn=='EB5' then nn = 'Eb5'
  160.         otherwise NOP
  161.       end
  162.  
  163.         /* x-Abstände der Noten zueinander */
  164.     select
  165.       when nw=='s' then
  166.           do
  167.           xw = xg/16
  168.           nw='x'
  169.           yv = 0
  170.           end
  171.       when nw=='S' then
  172.           do
  173.           xw = xg/16
  174.           nw='X'
  175.           yv = 0.47
  176.           end
  177.       when nw=='a' then
  178.           do
  179.           xw = xg/8
  180.           nw='e'
  181.           yv = 0
  182.           end
  183.       when nw=='A' then
  184.           do
  185.           xw = xg/8
  186.           nw='E'
  187.           yv = 0.47
  188.           end
  189.       when nw=='v' then
  190.           do
  191.           xw = xg/4
  192.           nw='q'
  193.           yv = 0
  194.           end
  195.       when nw=='V' then
  196.           do
  197.           xw = xg/4
  198.           nw='Q'
  199.           yv = 0.47
  200.           end
  201.       when nw=='h' then
  202.           do
  203.           xw = xg/2
  204.           yv = 0
  205.           end
  206.       when nw=='H' then
  207.           do
  208.           xw = xg/2
  209.           yv = 0.47
  210.           end
  211.       when nw=='g' then
  212.           do
  213.           xw = xg
  214.           nw='w'
  215.           yv = 0
  216.           end
  217.       when nw=='G' then
  218.           do
  219.           xw = xg
  220.           nw='W'
  221.           yv = 0.47
  222.           end
  223.  
  224.      /* Sprung an den Anfang der Zeile */
  225.       when nw == 'left' then
  226.           do
  227.            call ppm_SetPagePosition(0, zz+1)
  228.           end
  229.  
  230.      /* Punkt nach der Note - muß als erstes eingegeben werden falls gewünscht
  231.         den nötigen Freiraum mit "sp" eingeben */
  232.  
  233.       when nw == 'pk' then
  234.           do
  235.             if notex < 3 then
  236.             do
  237.               notex = bakx
  238.               zz = zz - zdist
  239.               call ppm_SetSize(25)
  240.               box#id = ppm_CreateBox(notex+0.4, yw+zz+0.26-yv, 0.3, 0.9, 0)
  241.               call ppm_SetSize(20)
  242.               call ppm_TextIntoBox(box#id, 'd')
  243.             end
  244.             else
  245.             do
  246.               call ppm_SetSize(25)
  247.               box#id = ppm_CreateBox(notex-xw+0.4, yw+zz+0.26-yv, 0.3, 0.9, 0)
  248.               call ppm_SetSize(20)
  249.               call ppm_TextIntoBox(box#id, 'd')
  250.             end
  251.            select
  252.                when nn == '1' then
  253.                do
  254.                xw = xg
  255.                notex = notex+xw
  256.                end
  257.                when nn == '2' then
  258.                do
  259.                xw = xg/2
  260.                notex = notex+xw
  261.                end
  262.                when nn == '4' then
  263.                do
  264.                xw = xg/4
  265.                notex = notex+xw
  266.                end
  267.                when nn == '8' then
  268.                do
  269.                xw = xg/8
  270.                notex = notex+xw
  271.                end
  272.                when nn == '16' then
  273.                do
  274.                xw  = xg/16
  275.                notex = notex+xw
  276.                end
  277.                when nn == 't' then
  278.                do
  279.                xw  = 0.2
  280.                notex = notex+xw
  281.                end
  282.                otherwise notenwert()
  283.            end
  284.            if notex >=18.7 then
  285.                do
  286.                  notex = 2.5
  287.                  zz = zz + zdist
  288.                end
  289.            px = notex - 4
  290.            py = zz-1
  291.            if px < 0 then px = 0
  292.            call ppm_SetPagePosition(px, py+2)
  293.            notenwert()
  294.           end
  295.  
  296.       when nw == 'PK' then
  297.           do
  298.             if notex < 3 then
  299.             do
  300.               notex = bakx
  301.               zz = zz - zdist
  302.               call ppm_SetSize(25)
  303.               box#id = ppm_CreateBox(notex+0.4, yw+zz+0.26-yv, 0.3, 0.9, 0)
  304.               call ppm_SetSize(20)
  305.               call ppm_TextIntoBox(box#id, 'd')
  306.             end
  307.             else
  308.             do
  309.               call ppm_SetSize(25)
  310.               box#id = ppm_CreateBox(notex-xw+0.4, yw+zz+0.26-yv, 0.3, 0.9, 0)
  311.               call ppm_SetSize(20)
  312.               call ppm_TextIntoBox(box#id, 'd')
  313.             end
  314.            select
  315.                when nn == '1' then
  316.                do
  317.                xw = xg
  318.                notex = notex+xw
  319.                end
  320.                when nn == '2' then
  321.                do
  322.                xw = xg/2
  323.                notex = notex+xw
  324.                end
  325.                when nn == '4' then
  326.                do
  327.                xw = xg/4
  328.                notex = notex+xw
  329.                end
  330.                when nn == '8' then
  331.                do
  332.                xw = xg/8
  333.                notex = notex+xw
  334.                end
  335.                when nn == '16' then
  336.                do
  337.                xw  = xg/16
  338.                notex = notex+xw
  339.                end
  340.                when nn == 't' then
  341.                do
  342.                xw  = 0.2
  343.                notex = notex+xw
  344.                end
  345.                otherwise notenwert()
  346.            end
  347.            if notex >=18.7 then
  348.                do
  349.                  notex = 2.5
  350.                  zz = zz + zdist
  351.                end
  352.            px = notex - 4
  353.            py = zz-1
  354.            if px < 0 then px = 0
  355.            call ppm_SetPagePosition(px, py+2)
  356.            notenwert()
  357.           end
  358.  
  359.      /* Löschen */
  360.       when nw == 'd' then
  361.           do
  362.            oldpos = notex
  363.            thisbox = ppm_BoxNum()
  364.            if thisbox == zbid then
  365.              do
  366.              ppm_Inform(1, "Nichts mehr zu löschen!","OK")
  367.              notenwert()
  368.              end
  369.            lpos= ppm_GetBoxPosition()
  370.            notex = word(lpos, 1)
  371.            call ppm_DeleteBox()
  372.            diff = oldpos - notex
  373.            if diff<0 then notenwert()
  374.            if (diff < 0.3)&(diff > 0.1) then notex = notex + 0.23
  375.            py    = zz - 1
  376.            px = notex - 4
  377.            if px < 0 then px = 0
  378.            call ppm_SetPagePosition(px, py+2)
  379.            notenwert()
  380.           end
  381.  
  382.       /* Taktstrich */
  383.       when nw == 't' then
  384.           do
  385.            call ppm_SetLineWeight(0.25)
  386.            call ppm_DrawLine(notex, 2+zz, notex, 2.8+zz)
  387.            notex = notex+0.2
  388.           end
  389.  
  390.      /* Pausen */
  391.       when nw == 'p' then
  392.         do
  393. pausenwert:
  394.          /*  wert = ppm_GetForm("1/1 1/2 1/4 1/8 1/16 ...?", 2, "1 , 2, 4, 8, 16") */
  395.            x = notex
  396.            select
  397.                when nn== '1' then do
  398.  
  399.                    y = 2.28+zz
  400.                    call ppm_SetLineWeight(4)
  401.                    call ppm_DrawLine(x, y, x+0.4, y)
  402.                    call ppm_SetLineWeight(0.25)
  403.                    xw = xg
  404.                    notex = notex+xw
  405.                end
  406.  
  407.                when nn== '2' then do
  408.  
  409.                    y = 2.32+zz
  410.                    call ppm_SetLineWeight(4)
  411.                    call ppm_DrawLine(x, y, x+0.4, y)
  412.                    call ppm_SetLineWeight(0.25)
  413.                    xw = xg/2
  414.                    notex = notex+xw
  415.                end
  416.  
  417.                when nn== '4' then do
  418.  
  419.                    y = 2.07+zz
  420.                    Pbox = ppm_CreateBox(x, y, 0.59, 0.86, 0)
  421.                    boxnm = ppm_DocNextBox(Pbox)
  422.                    call ppm_DeleteContents(boxnm)
  423.                    call ppm_ImportGraphic(boxnm, 'Genies:noten_pausen/viertelPause', pause)
  424.                    xw = xg/4
  425.                    notex = notex+xw
  426.                end
  427.  
  428.                when nn== '8' then do
  429.  
  430.                    y = 2.21+zz
  431.                    Pbox = ppm_CreateBox(x, y, 0.27, 0.42, 0)
  432.                    boxnm = ppm_DocNextBox(Pbox)
  433.                    call ppm_DeleteContents(boxnm)
  434.                    call ppm_ImportGraphic(boxnm, 'Genies:noten_pausen/achtelPause', pause)
  435.                    xw = xg/8
  436.                    notex = notex+xw
  437.                end
  438.  
  439.                when nn== '16' then do
  440.  
  441.                    y = 2.21+zz
  442.                    Pbox = ppm_CreateBox(x, y, 0.27, 0.42, 0)
  443.                    boxnm = ppm_DocNextBox(Pbox)
  444.                    call ppm_DeleteContents(boxnm)
  445.                    call ppm_ImportGraphic(boxnm, 'Genies:noten_pausen/sechzehntelPause', pause)
  446.                    xw = xg/16
  447.                    notex = notex+xw
  448.                end
  449.                otherwise notenwert()
  450.            end
  451.            if notex >=18.7 then
  452.                do
  453.                  notex = 2.5
  454.                  zz = zz + zdist
  455.                end
  456.            px = notex - 4
  457.            py = zz-1
  458.            if px < 0 then px = 0
  459.            call ppm_SetPagePosition(px, py+2)
  460.            notenwert()
  461.         end
  462.  
  463.       when nw == 'l' then
  464.         do
  465.            /* wert = ppm_GetForm("1/1 1/2 1/4 1/8 1/16 ...?", 2, "1 , 2, 4, 8, 16") */
  466.           select
  467.  
  468.            when nn== '1' then
  469.                do
  470.                xw = xg
  471.                notex = notex+xw
  472.                end
  473.            when nn== '2' then
  474.                do
  475.                xw = xg/2
  476.                notex = notex+xw
  477.                end
  478.            when nn== '4' then
  479.                do
  480.                xw = xg/4
  481.                notex = notex+xw
  482.                end
  483.            when nn== '8' then
  484.                do
  485.                xw = xg/8
  486.                notex = notex+xw
  487.                end
  488.            when nn== '16' then
  489.                do
  490.                xw = xg/16
  491.                notex = notex+xw
  492.                end
  493.            when nn == 't' then
  494.                do
  495.                xw  = 0.2
  496.                notex = notex+xw
  497.                end
  498.            otherwise notenwert()
  499.           end
  500.            if notex >=18.7 then
  501.                do
  502.                  notex = 2.5
  503.                  zz = zz + zdist
  504.                end
  505.            px = notex - 4
  506.            py = zz-1
  507.            if px < 0 then px = 0
  508.            call ppm_SetPagePosition(px, py+2)
  509.            notenwert()
  510.         end
  511.  
  512.       when nw == 'neu' then
  513.         do
  514.            call ppm_DeleteBox(zbid)
  515.            clickpos()
  516.         end
  517.       otherwise notenwert()
  518.     end
  519.  
  520.  
  521.      /* y-Raster der Noten - Notenhälse nach oben (y-Position der Box) */
  522.  
  523.         call ppm_SetLineWeight(0.25)
  524.  
  525.       select
  526.         when nn=='f#5'  then
  527.         do
  528.             yw = 0.645
  529.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
  530.             call ppm_SetSize(20)
  531.             call ppm_TextIntoBox(box#id, 's')
  532.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  533.             call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
  534.             call ppm_DrawLine(notex, zz+1.4, (notex+0.4), zz+1.4)
  535.         end
  536.         when nn=='f5'  then
  537.         do
  538.             yw = 0.645
  539.             if al == 'a' then call auflhoch()
  540.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  541.             call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
  542.             call ppm_DrawLine(notex, zz+1.4, (notex+0.4), zz+1.4)
  543.         end
  544.         when nn=='e5'  then
  545.         do
  546.             yw = 0.745
  547.             if al == 'a' then call auflhoch()
  548.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  549.             call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
  550.             call ppm_DrawLine(notex, zz+1.4, (notex+0.4), zz+1.4)
  551.         end
  552.         when nn=='eb5'  then
  553.         do
  554.             yw = 0.745
  555.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
  556.             call ppm_SetSize(20)
  557.             call ppm_TextIntoBox(box#id, 'f')
  558.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  559.             call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
  560.             call ppm_DrawLine(notex, zz+1.4, (notex+0.4), zz+1.4)
  561.         end
  562.         when nn=='d#5'  then
  563.         do
  564.             yw = 0.845
  565.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
  566.             call ppm_SetSize(20)
  567.             call ppm_TextIntoBox(box#id, 's')
  568.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  569.             call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
  570.         end
  571.         when nn=='d5'  then
  572.         do
  573.             yw = 0.845
  574.             if al == 'a' then call auflhoch()
  575.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  576.             call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
  577.         end
  578.         when nn=='db5'  then
  579.         do
  580.             yw = 0.845
  581.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
  582.             call ppm_SetSize(20)
  583.             call ppm_TextIntoBox(box#id, 'f')
  584.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  585.             call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
  586.         end
  587.         when nn=='c#5'  then
  588.         do
  589.             yw = 0.945
  590.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
  591.             call ppm_SetSize(20)
  592.             call ppm_TextIntoBox(box#id, 's')
  593.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  594.             call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
  595.         end
  596.         when nn=='c5'  then
  597.         do
  598.             yw = 0.945
  599.             if al == 'a' then call auflhoch()
  600.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  601.             call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
  602.         end
  603.  
  604.         when nn=='h4'  then
  605.         do
  606.             yw = 1.045
  607.             if al == 'a' then call auflhoch()
  608.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  609.         end
  610.  
  611.         when nn=='b4'  then
  612.         do
  613.             yw = 1.045
  614.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  615.         end
  616.  
  617.         when nn=='a#4' then
  618.         do
  619.             yw = 1.145
  620.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
  621.             call ppm_SetSize(20)
  622.             call ppm_TextIntoBox(box#id, 's')
  623.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  624.         end
  625.  
  626.         when nn=='a4'  then
  627.         do
  628.             yw = 1.145
  629.             if al == 'a' then call auflhoch()
  630.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  631.         end
  632.  
  633.         when nn=='ab4' then
  634.         do
  635.             yw = 1.145
  636.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
  637.             call ppm_SetSize(20)
  638.             call ppm_TextIntoBox(box#id, 'f')
  639.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  640.         end
  641.  
  642.         when nn=='g#4' then
  643.         do
  644.             yw = 1.245
  645.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
  646.             call ppm_SetSize(20)
  647.             call ppm_TextIntoBox(box#id, 's')
  648.         end
  649.         when nn=='g4'  then
  650.         do
  651.             yw = 1.245
  652.             if al == 'a' then call auflhoch()
  653.         end
  654.         when nn=='gb4' then
  655.         do
  656.             yw = 1.245
  657.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
  658.             call ppm_SetSize(20)
  659.             call ppm_TextIntoBox(box#id, 'f')
  660.         end
  661.         when nn=='f#4' then
  662.         do
  663.             yw = 1.345
  664.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
  665.             call ppm_SetSize(20)
  666.             call ppm_TextIntoBox(box#id, 's')
  667.         end
  668.         when nn=='f4'  then
  669.         do
  670.             yw = 1.345
  671.             if al == 'a' then call auflhoch()
  672.         end
  673.         when nn=='e#4' then
  674.         do
  675.             yw = 1.445
  676.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
  677.             call ppm_SetSize(20)
  678.             call ppm_TextIntoBox(box#id, 's')
  679.         end
  680.         when nn=='e4'  then
  681.         do
  682.             yw = 1.445
  683.             if al == 'a' then call auflhoch()
  684.         end
  685.         when nn=='eb4' then
  686.         do
  687.             yw = 1.445
  688.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
  689.             call ppm_SetSize(20)
  690.             call ppm_TextIntoBox(box#id, 'f')
  691.         end
  692.         when nn=='d#4' then
  693.         do
  694.             yw = 1.545
  695.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
  696.             call ppm_SetSize(20)
  697.             call ppm_TextIntoBox(box#id, 's')
  698.         end
  699.         when nn=='d4'  then
  700.         do
  701.             yw = 1.545
  702.             if al == 'a' then call auflhoch()
  703.         end
  704.         when nn=='db4' then
  705.         do
  706.             yw = 1.545
  707.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
  708.             call ppm_SetSize(20)
  709.             call ppm_TextIntoBox(box#id, 'f')
  710.         end
  711.         when nn=='c#4' then
  712.         do
  713.             yw = 1.645
  714.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
  715.             call ppm_SetSize(20)
  716.             call ppm_TextIntoBox(box#id, 's')
  717.         end
  718.         when nn=='c4'  then
  719.         do
  720.             yw = 1.645
  721.             if al == 'a' then call auflhoch()
  722.         end
  723.         when nn=='h3'  then
  724.         do
  725.             yw = 1.745
  726.             if al == 'a' then call auflhoch()
  727.         end
  728.         when nn=='b3'  then
  729.         do
  730.             yw = 1.745
  731.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
  732.             call ppm_SetSize(20)
  733.             call ppm_TextIntoBox(box#id, 'f')
  734.         end
  735.         when nn=='a#3' then
  736.         do
  737.             yw = 1.845
  738.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
  739.             call ppm_SetSize(20)
  740.             call ppm_TextIntoBox(box#id, 's')
  741.         end
  742.         when nn=='a3'  then
  743.         do
  744.             yw = 1.845
  745.             if al == 'a' then call auflhoch()
  746.         end
  747.         when nn=='ab3' then
  748.         do
  749.             yw = 1.845
  750.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
  751.             call ppm_SetSize(20)
  752.             call ppm_TextIntoBox(box#id, 'f')
  753.         end
  754.         when nn=='g#3' then
  755.         do
  756.             yw = 1.945
  757.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
  758.             call ppm_SetSize(20)
  759.             call ppm_TextIntoBox(box#id, 's')
  760.         end
  761.         when nn=='g3'  then
  762.         do
  763.             yw = 1.945
  764.             if al == 'a' then call auflhoch()
  765.         end
  766.         when nn=='gb3' then
  767.         do
  768.             yw = 1.945
  769.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
  770.             call ppm_SetSize(20)
  771.             call ppm_TextIntoBox(box#id, 'f')
  772.         end
  773.         when nn=='f#3' then
  774.         do
  775.             yw = 2.045
  776.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
  777.             call ppm_SetSize(20)
  778.             call ppm_TextIntoBox(box#id, 's')
  779.         end
  780.         when nn=='f3'  then
  781.         do
  782.             yw = 2.045
  783.             if al == 'a' then call auflhoch()
  784.         end
  785.         when nn=='e#3' then
  786.         do
  787.             yw = 2.145
  788.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
  789.             call ppm_SetSize(20)
  790.             call ppm_TextIntoBox(box#id, 's')
  791.         end
  792.         when nn=='e3'  then
  793.         do
  794.             yw = 2.145
  795.             if al == 'a' then call auflhoch()
  796.         end
  797.         when nn=='eb3' then
  798.         do
  799.             yw = 2.145
  800.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
  801.             call ppm_SetSize(20)
  802.             call ppm_TextIntoBox(box#id, 'f')
  803.         end
  804.         when nn=='d#3' then
  805.         do
  806.             yw = 2.245
  807.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
  808.             call ppm_SetSize(20)
  809.             call ppm_TextIntoBox(box#id, 's')
  810.         end
  811.         when nn=='d3'  then
  812.         do
  813.             yw = 2.245
  814.             if al == 'a' then call auflhoch()
  815.         end
  816.         when nn=='db3' then
  817.         do
  818.             yw = 2.245
  819.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
  820.             call ppm_SetSize(20)
  821.             call ppm_TextIntoBox(box#id, 'f')
  822.         end
  823.  
  824.         when nn=='c#3' then
  825.         do
  826.             yw = 2.345
  827.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
  828.             call ppm_SetSize(20)
  829.             call ppm_TextIntoBox(box#id, 's')
  830.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  831.         end
  832.  
  833.         when nn=='c3'  then
  834.         do
  835.             yw = 2.345
  836.             if al == 'a' then call auflhoch()
  837.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  838.         end
  839.  
  840.         when nn=='h2'  then
  841.         do
  842.             yw = 2.445
  843.             if al == 'a' then call auflhoch()
  844.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  845.         end
  846.  
  847.         when nn=='b2'  then
  848.         do
  849.             yw = 2.445
  850.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
  851.             call ppm_SetSize(20)
  852.             call ppm_TextIntoBox(box#id, 'f')
  853.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  854.         end
  855.  
  856.         when nn=='a#2' then
  857.         do
  858.             yw = 2.545
  859.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
  860.             call ppm_SetSize(20)
  861.             call ppm_TextIntoBox(box#id, 's')
  862.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  863.             call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  864.         end
  865.  
  866.         when nn=='a2'  then
  867.         do
  868.             yw = 2.545
  869.             if al == 'a' then call auflhoch()
  870.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  871.             call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  872.         end
  873.  
  874.         when nn=='ab2'  then
  875.         do
  876.             yw = 2.545
  877.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
  878.             call ppm_SetSize(20)
  879.             call ppm_TextIntoBox(box#id, 'f')
  880.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  881.             call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  882.         end
  883.  
  884.         when nn=='g#2'  then
  885.         do
  886.             yw = 2.645
  887.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
  888.             call ppm_SetSize(20)
  889.             call ppm_TextIntoBox(box#id, 's')
  890.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  891.             call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  892.         end
  893.  
  894.         when nn=='g2'  then
  895.         do
  896.             yw = 2.645
  897.             if al == 'a' then call auflhoch()
  898.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  899.             call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  900.         end
  901.  
  902.  
  903.         when nn=='gb2'  then
  904.         do
  905.             yw = 2.645
  906.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0)
  907.             call ppm_SetSize(20)
  908.             call ppm_TextIntoBox(box#id, 'f')
  909.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  910.             call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  911.         end
  912.  
  913.         when nn=='f#2'  then
  914.         do
  915.             yw = 2.745
  916.             box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0)
  917.             call ppm_SetSize(20)
  918.             call ppm_TextIntoBox(box#id, 's')
  919.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  920.             call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  921.             call ppm_DrawLine(notex, zz+3.4, (notex+0.4), zz+3.4)
  922.         end
  923.  
  924.         when nn=='f2'  then
  925.         do
  926.             yw = 2.745
  927.             if al == 'a' then call auflhoch()
  928.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  929.             call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  930.             call ppm_DrawLine(notex, zz+3.4, (notex+0.4), zz+3.4)
  931.         end
  932.  
  933.         when nn=='e2'  then
  934.         do
  935.             yw = 2.845
  936.             if al == 'a' then call auflhoch()
  937.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  938.             call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  939.             call ppm_DrawLine(notex, zz+3.4, (notex+0.4), zz+3.4)
  940.         end
  941.  
  942.  
  943.     /* y-Raster der Noten - Notenhälse nach unten */
  944.         when nn=='F#5'  then
  945.         do
  946.             yw = 1.12
  947.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
  948.             call ppm_SetSize(20)
  949.             call ppm_TextIntoBox(box#id, 's')
  950.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  951.             call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
  952.             call ppm_DrawLine(notex, zz+1.4, (notex+0.4), zz+1.4)
  953.         end
  954.         when nn=='F5'  then
  955.         do
  956.             yw = 1.12
  957.             if al == 'a' then call aufltief()
  958.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  959.             call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
  960.             call ppm_DrawLine(notex, zz+1.4, (notex+0.4), zz+1.4)
  961.         end
  962.         when nn=='E5'  then
  963.         do
  964.             yw = 1.22
  965.             if al == 'a' then call aufltief()
  966.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  967.             call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
  968.             call ppm_DrawLine(notex, zz+1.4, (notex+0.4), zz+1.4)
  969.         end
  970.         when nn=='Eb5'  then
  971.         do
  972.             yw = 1.22
  973.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
  974.             call ppm_SetSize(20)
  975.             call ppm_TextIntoBox(box#id, 'f')
  976.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  977.             call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
  978.             call ppm_DrawLine(notex, zz+1.4, (notex+0.4), zz+1.4)
  979.         end
  980.         when nn=='D#5'  then
  981.         do
  982.             yw = 1.32
  983.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
  984.             call ppm_SetSize(20)
  985.             call ppm_TextIntoBox(box#id, 's')
  986.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  987.             call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
  988.         end
  989.         when nn=='D5'  then
  990.         do
  991.             yw = 1.32
  992.             if al == 'a' then call aufltief()
  993.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  994.             call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
  995.         end
  996.         when nn=='Db5'  then
  997.         do
  998.             yw = 1.32
  999.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
  1000.             call ppm_SetSize(20)
  1001.             call ppm_TextIntoBox(box#id, 'f')
  1002.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  1003.             call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
  1004.         end
  1005.         when nn=='C#5'  then
  1006.         do
  1007.             yw = 1.42
  1008.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  1009.             call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
  1010.         end
  1011.  
  1012.         when nn=='C5'  then
  1013.         do
  1014.             yw = 1.42
  1015.             if al == 'a' then call aufltief()
  1016.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  1017.             call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6)
  1018.         end
  1019.  
  1020.         when nn=='H4'  then
  1021.         do
  1022.             yw = 1.52
  1023.             if al == 'a' then call aufltief()
  1024.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  1025.         end
  1026.  
  1027.         when nn=='B4'  then
  1028.         do
  1029.             yw = 1.52
  1030.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
  1031.             call ppm_SetSize(20)
  1032.             call ppm_TextIntoBox(box#id, 'f')
  1033.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  1034.         end
  1035.  
  1036.         when nn=='A#4' then
  1037.         do
  1038.             yw = 1.62
  1039.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
  1040.             call ppm_SetSize(20)
  1041.             call ppm_TextIntoBox(box#id, 's')
  1042.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  1043.         end
  1044.  
  1045.         when nn=='A4'  then
  1046.         do
  1047.             yw = 1.62
  1048.             if al == 'a' then call aufltief()
  1049.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  1050.         end
  1051.  
  1052.         when nn=='Ab4' then
  1053.         do
  1054.             yw = 1.62
  1055.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
  1056.             call ppm_SetSize(20)
  1057.             call ppm_TextIntoBox(box#id, 'f')
  1058.             call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8)
  1059.         end
  1060.  
  1061.         when nn=='G#4' then
  1062.         do
  1063.             yw = 1.72
  1064.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
  1065.             call ppm_SetSize(20)
  1066.             call ppm_TextIntoBox(box#id, 's')
  1067.         end
  1068.         when nn=='G4'  then
  1069.         do
  1070.             yw = 1.72
  1071.             if al == 'a' then call aufltief()
  1072.         end
  1073.         when nn=='Gb4' then
  1074.         do
  1075.             yw = 1.72
  1076.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
  1077.             call ppm_SetSize(20)
  1078.             call ppm_TextIntoBox(box#id, 'f')
  1079.         end
  1080.         when nn=='F#4' then
  1081.         do
  1082.             yw = 1.82
  1083.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
  1084.             call ppm_SetSize(20)
  1085.             call ppm_TextIntoBox(box#id, 's')
  1086.         end
  1087.         when nn=='F4'  then
  1088.         do
  1089.             yw = 1.82
  1090.             if al == 'a' then call aufltief()
  1091.         end
  1092.         when nn=='E#4' then
  1093.         do
  1094.             yw = 1.92
  1095.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
  1096.             call ppm_SetSize(20)
  1097.             call ppm_TextIntoBox(box#id, 's')
  1098.         end
  1099.         when nn=='E4'  then
  1100.         do
  1101.             yw = 1.92
  1102.             if al == 'a' then call aufltief()
  1103.         end
  1104.         when nn=='Eb4' then
  1105.         do
  1106.             yw = 1.92
  1107.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
  1108.             call ppm_SetSize(20)
  1109.             call ppm_TextIntoBox(box#id, 'f')
  1110.         end
  1111.         when nn=='D#4' then
  1112.         do
  1113.             yw = 2.02
  1114.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
  1115.             call ppm_SetSize(20)
  1116.             call ppm_TextIntoBox(box#id, 's')
  1117.         end
  1118.         when nn=='D4'  then
  1119.         do
  1120.             yw = 2.02
  1121.             if al == 'a' then call aufltief()
  1122.         end
  1123.         when nn=='Db4' then
  1124.         do
  1125.             yw = 2.02
  1126.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
  1127.             call ppm_SetSize(20)
  1128.             call ppm_TextIntoBox(box#id, 'f')
  1129.         end
  1130.         when nn=='C#4' then
  1131.         do
  1132.             yw = 2.12
  1133.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
  1134.             call ppm_SetSize(20)
  1135.             call ppm_TextIntoBox(box#id, 's')
  1136.         end
  1137.         when nn=='C4'  then
  1138.         do
  1139.             yw = 2.12
  1140.             if al == 'a' then call aufltief()
  1141.         end
  1142.         when nn=='H3'  then
  1143.         do
  1144.             yw = 2.22
  1145.             if al == 'a' then call aufltief()
  1146.         end
  1147.         when nn=='B3'  then
  1148.         do
  1149.             yw = 2.22
  1150.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
  1151.             call ppm_SetSize(20)
  1152.             call ppm_TextIntoBox(box#id, 'f')
  1153.         end
  1154.         when nn=='A#3' then
  1155.         do
  1156.             yw = 2.32
  1157.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
  1158.             call ppm_SetSize(20)
  1159.             call ppm_TextIntoBox(box#id, 's')
  1160.         end
  1161.         when nn=='A3'  then
  1162.         do
  1163.             yw = 2.32
  1164.             if al == 'a' then call aufltief()
  1165.         end
  1166.  
  1167.         when nn=='Ab3' then
  1168.         do
  1169.             yw = 2.32
  1170.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
  1171.             call ppm_SetSize(20)
  1172.             call ppm_TextIntoBox(box#id, 'f')
  1173.         end
  1174.         when nn=='G#3' then
  1175.         do
  1176.             yw = 2.42
  1177.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
  1178.             call ppm_SetSize(20)
  1179.             call ppm_TextIntoBox(box#id, 's')
  1180.         end
  1181.         when nn=='G3'  then
  1182.         do
  1183.             yw = 2.42
  1184.             if al == 'a' then call aufltief()
  1185.         end
  1186.         when nn=='Gb3' then
  1187.         do
  1188.             yw = 2.42
  1189.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
  1190.             call ppm_SetSize(20)
  1191.             call ppm_TextIntoBox(box#id, 'f')
  1192.         end
  1193.         when nn=='F#3' then
  1194.         do
  1195.             yw = 2.52
  1196.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
  1197.             call ppm_SetSize(20)
  1198.             call ppm_TextIntoBox(box#id, 's')
  1199.         end
  1200.         when nn=='F3'  then
  1201.         do
  1202.             yw = 2.52
  1203.             if al == 'a' then call aufltief()
  1204.         end
  1205.         when nn=='E#3' then
  1206.         do
  1207.             yw = 2.62
  1208.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
  1209.             call ppm_SetSize(20)
  1210.             call ppm_TextIntoBox(box#id, 's')
  1211.         end
  1212.         when nn=='E3'  then
  1213.         do
  1214.             yw = 2.62
  1215.             if al == 'a' then call aufltief()
  1216.         end
  1217.         when nn=='Eb3' then
  1218.         do
  1219.             yw = 2.62
  1220.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
  1221.             call ppm_SetSize(20)
  1222.             call ppm_TextIntoBox(box#id, 'f')
  1223.         end
  1224.         when nn=='D#3' then
  1225.         do
  1226.             yw = 2.72
  1227.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
  1228.             call ppm_SetSize(20)
  1229.             call ppm_TextIntoBox(box#id, 's')
  1230.         end
  1231.         when nn=='D3'  then
  1232.         do
  1233.             yw = 2.72
  1234.             if al == 'a' then call aufltief()
  1235.         end
  1236.         when nn=='Db3' then
  1237.         do
  1238.             yw = 2.72
  1239.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
  1240.             call ppm_SetSize(20)
  1241.             call ppm_TextIntoBox(box#id, 'f')
  1242.         end
  1243.  
  1244.         when nn=='C#3' then
  1245.         do
  1246.             yw = 2.82
  1247.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
  1248.             call ppm_SetSize(20)
  1249.             call ppm_TextIntoBox(box#id, 's')
  1250.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  1251.         end
  1252.  
  1253.         when nn=='C3'  then
  1254.         do
  1255.             yw = 2.82
  1256.             if al == 'a' then call aufltief()
  1257.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  1258.         end
  1259.  
  1260.         when nn=='H2'  then
  1261.         do
  1262.             yw = 2.92
  1263.             if al == 'a' then call aufltief()
  1264.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  1265.         end
  1266.  
  1267.         when nn=='B2'  then
  1268.         do
  1269.             yw = 2.92
  1270.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
  1271.             call ppm_SetSize(20)
  1272.             call ppm_TextIntoBox(box#id, 'f')
  1273.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  1274.         end
  1275.  
  1276.         when nn=='A#2' then
  1277.         do
  1278.             yw = 3.02
  1279.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
  1280.             call ppm_SetSize(20)
  1281.             call ppm_TextIntoBox(box#id, 's')
  1282.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  1283.             call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  1284.         end
  1285.  
  1286.         when nn=='A2'  then
  1287.         do
  1288.           yw = 3.02
  1289.             if al == 'a' then call aufltief()
  1290.           call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  1291.           call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  1292.         end
  1293.  
  1294.         when nn=='Ab2'  then
  1295.         do
  1296.           yw = 3.02
  1297.           box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
  1298.           call ppm_SetSize(20)
  1299.           call ppm_TextIntoBox(box#id, 'f')
  1300.           call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  1301.           call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  1302.         end
  1303.  
  1304.         when nn=='G#2'  then
  1305.         do
  1306.             yw = 3.12
  1307.             box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
  1308.             call ppm_SetSize(20)
  1309.             call ppm_TextIntoBox(box#id, 's')
  1310.             call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  1311.             call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  1312.         end
  1313.  
  1314.         when nn=='G2'  then
  1315.         do
  1316.           yw = 3.12
  1317.             if al == 'a' then call aufltief()
  1318.           call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  1319.           call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  1320.         end
  1321.  
  1322.         when nn=='Gb2'  then
  1323.         do
  1324.           yw = 3.12
  1325.           box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0)
  1326.           call ppm_SetSize(20)
  1327.           call ppm_TextIntoBox(box#id, 'f')
  1328.           call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  1329.           call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  1330.         end
  1331.  
  1332.         when nn=='F#2'  then
  1333.         do
  1334.           yw = 3.22
  1335.           box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0)
  1336.           call ppm_SetSize(20)
  1337.           call ppm_TextIntoBox(box#id, 's')
  1338.           call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  1339.           call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  1340.           call ppm_DrawLine(notex, zz+3.4, (notex+0.4), zz+3.4)
  1341.         end
  1342.  
  1343.         when nn=='F2'  then
  1344.         do
  1345.           yw = 3.22
  1346.             if al == 'a' then call aufltief()
  1347.           call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  1348.           call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  1349.           call ppm_DrawLine(notex, zz+3.4, (notex+0.4), zz+3.4)
  1350.         end
  1351.  
  1352.         when nn=='E2'  then
  1353.         do
  1354.           yw = 3.32
  1355.             if al == 'a' then call aufltief()
  1356.           call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3)
  1357.           call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2)
  1358.           call ppm_DrawLine(notex, zz+3.4, (notex+0.4), zz+3.4)
  1359.         end
  1360.         otherwise notenwert()
  1361.       end
  1362.  
  1363.  
  1364.         /* größe einer Notenbox */
  1365.           notewidht = 0.64
  1366.           noteheight = 0.97
  1367.  
  1368.  
  1369.           boxid = ppm_CreateBox(notex, yw+zz, notewidht, noteheight, 0)
  1370.           call ppm_SetSize(notepkt)
  1371.           call ppm_TextIntoBox(boxid, nw)
  1372.           bakx = notex
  1373.           notex = (notex + xw)
  1374.           if notex >=18.7 then
  1375.               do
  1376.                 notex = 2.5
  1377.                 zz = zz + zdist
  1378.               end
  1379.           px = notex - 4
  1380.           py = zz-1
  1381.           if px < 0 then px = 0
  1382.           call ppm_SetPagePosition(px, py+2)
  1383.       end
  1384.    end
  1385. exit
  1386.  
  1387. auflhoch:
  1388. do
  1389.   Pbox = ppm_CreateBox(notex-0.34, yw+zz+0.07, 0.6, 1.2, 0)
  1390.   boxnm = ppm_DocNextBox(Pbox)
  1391.   call ppm_DeleteContents(boxnm)
  1392.   call ppm_ImportGraphic(boxnm, 'Genies:noten_pausen/Auflsng', Zeichen)
  1393.   return
  1394. end
  1395.  
  1396. aufltief:
  1397. do
  1398.   Pbox = ppm_CreateBox(notex-0.34, yw+zz-0.4, 0.6, 1.2, 0)
  1399.   boxnm = ppm_DocNextBox(Pbox)
  1400.   call ppm_DeleteContents(boxnm)
  1401.   call ppm_ImportGraphic(boxnm, 'Genies:noten_pausen/Auflsng', Zeichen)
  1402.   return
  1403. end
  1404.  
  1405. break_d:
  1406. break_e:
  1407. break_c:
  1408. halt:
  1409.     call exit_msg("User aborted Genie!")
  1410.  
  1411.  
  1412. exit_msg: procedure
  1413. do
  1414.     parse arg message
  1415.  
  1416.     if message ~= '' then
  1417.     call ppm_Inform(1,message,)
  1418.  
  1419.     call ppm_ClearStatus()
  1420.     call ppm_AutoUpdate(1)
  1421.     exit
  1422. end
  1423.  
  1424.